Users of a product or service need timely answers to their questions about how to acquire, install or use the product or service. Of course, in the prior art, there exists magazines and advertisements for describing new products and services and, once purchased, user manuals to help new purchasers use them. Now, it is prevalent to also provide telecommunications or mail support services. Typically, the provider of the product or service pays a subject matter expert ("SME") to staff a "help-desk". The SME's are available in person, by phone, postal mail, electronic mail ("E-mail") or via the Internet. The Internet is a well-known network of inter-connected computers and networks which facilitates the exchange of information, data, and files between the computers and networks.
Another approach that is becoming common is for a provider of a product or service to maintain an informational E-mail list to which users may subscribe. The list is read by the SME's and is also accessible for reading by all the users on the list. Any list member can send questions and answers to the list. Answers to questions can be fielded not just by SME's but by users as well.
A feature of the help list is that the service or product provider can devote less effort, for example, in the form of staff time to answering questions than conventional telecommunications help lines. It has been discovered that human nature seems to lead list members to naturally enjoy, or at least not to mind, helping their peers with questions they themselves know how to answer. Moreover, users tend to be available at all hours whereas paid staff SME's tend to follow the 9-to-5 business day. Thus, responses can often be much more rapid than would be possible if only staff members responded to questions. Furthermore, by reading queries and responses of other users, a particular user can potentially learn more quickly than by stumbling over all problems himself. Examples of such help lists include info-mcl@digitool.com for Macintosh Common Lisp users and java-interest@java.sun.com for Java programming language and environment users.
The usefulness and fun of these lists, however, are significantly reduced by the frequent repetition of essentially similar questions. This problem is primarily caused by new users continually joining the list and running into the same problems encountered earlier by others. In addition to such frequently asked questions, questions easily answered by reading the user manual or using coaches or help features for the product or service can be annoying as well.
Another problem arises due to turnover, both in the user population and the provider's staff SME's. When the provider hires new support personnel to replace departing staff, those departing may take with them much practical knowledge of how the product or service works. The new staff will be less effective than the old at answering questions. Also, as experienced users leave the list, their experience is missed as well.
Yet another annoyance in such lists comes from misdirected administrative messages that are sent to list members (such as requests for subscription). While a few such messages are not bothersome, as they multiply, they endanger the existence of the list. Users troubled by such messages will leave the list and thus the list will be less effective.
To avoid loss of effectiveness of such help lists, it would be desirable to build a knowledge database of queries and responses and provide an automatic moderator to formulate responses to queries from, for example, new users. In this manner, old list members would not have to answer repetitive questions and would be encouraged to stay subscribed to the help list.
An early system for providing automated question answering was Eliza, described in Communications of the ACM, 9, 1966, at pages 36-45 by J. Weizenbaum, in his article "ELIZA-A Computer Program for the Study of Natural Language Communication Between Man and Machine." It is believed that Weizenbaum and others pioneered a shallow natural language understanding based on pattern matching against a user's input and then generating responses based on pattern-action rules. It successfully fooled some people into thinking a human was answering their questions.
One solution to the problems of help lists found on the Internet is Auto-FAQ, described by S. D. Whitehead in: "Auto-FAQ: An Experiment in Cyberspace Leveraging" which appeared in Proceedings of the Second World Wide Web Conference 1994: Mosaic and the Web, vol. 1, at pages 25-38. Auto-FAQ is accessed via a web interface, that is, a user accesses a web site and enters a question into a web form. The web, or world wide web, is a well-known globally connected distributed information presentation application on the Internet. The question is compared against a knowledge base of question/answer pairs via a shallow natural language understanding. If no relevant answer is found, then a "gap" is posted to a publicly available gap-list which anyone can read. Anyone who thinks they know the answer can reply by submitting a question/answer pair for addition to the knowledge base.
Potential problems with Auto-FAQ include that the person answering may not know the true answer to a question. There is no SME maintainer to filter the knowledge base entries for bad entries. Auto-FAQ provides a partial solution in that users are able to rate the question/answer pairs as to their effectiveness. A numerical rating, however, of "not useful", for example, is ambiguous--is the answer wrong or did the answer simply not respond to the user's particular questions? There also appears to be no way to prevent receiving several conflicting answers from many different users.
Another problem with Auto-FAQ may be a lack of control in relevance matching and the timeliness of responses. Entries are made in the form of raw text entries having a context field, a question, and an answer. It is the context field which defines a collection of key words for retrieving question/answer pairs. Once the context field is satisfied, the question is scored for relevance, for example, by a vector space matching procedure. Since context keywords must all be matched to a given query, separate entries must be created to cover synonymous context keywords such as "http server" and "web server". Also, the relevance matching is not directly controllable by the creator of the entry, making it difficult to optimize precision and recall during matching. In addition, the posting of answers to gaps is not noticed to users. So users must frequently poll the gap list to determine if the answer to their question is posted.
Others have taken the field of natural language communication with machines a step further in the field of memory extension systems and, more particularly, personal memory prostheses systems. For example, from the B. J. Rhodes et al. article "Remembrance Agent: A Continuously Running Automated Information Retrieval System" which appeared in the 1996 Proc. AAAI Spring Symposium on Acquisition, Learning & Demonstration: Automating Tasks for Users of the AAAI Press Technical Report SS-96-02, pages 122-125, it is known that a remembrance agent can automatically assist a system user by providing a continually running automated information retrieval system for monitoring a user's data entry and, thus, thought processes. For example, the system provides a remembrance agent which continuously monitors a window around the user's typing activity. It periodically performs a shallow natural language match of the text in the window against a database of stored personal documents, such as E-mail archives. It then presents at the bottom of the user's screen a ranked list of teasers for the k most relevant entries to the current activity (k is set by the user). The user may then easily retrieve and view an entry's text. The remembrance agent uses vector space relevance matching and does not require human preprocessing of the archive.
This system may be applied to a help list by having the remembrance agent operate in the user's E-mail client, retrieving relevant items from the list's knowledge repository or raw thread log. However, since the system only shows k potentially relevant items, instead of all items judged possibly relevant, the user may miss some relevant items. Altering the remembrance agent to continuously display all relevant items would render it unusable because of the rapidly fluctuating screen area needed. Moreover, by not having it actually filter list traffic, some undesired messages could then get through. In addition, by distributing the knowledge to the E-mail clients, the problem of maintaining and updating all the copies of the knowledge base is introduced (remote retrieval from a centralized repository would likely be too slow for effective remembrance agent use).
Thus, there remains an opportunity in the art to provide further advances in assisting users of help lists to obtain rapid responses to their inquiries while still maintaining the effectiveness of the knowledge based system and not annoying other users.